#include "clibraryprivate.h"

CLibraryPrivate::CLibraryPrivate()
{

}

CLibraryPrivate::~CLibraryPrivate()
{}

class CLibImplement:public CLibraryPrivate
{
public:
    CLibImplement()=default;
    virtual ~CLibImplement()=default;
    virtual int def_add(int a, int b);
    virtual int def_sub(int a, int b);
    virtual void ReleaseObj();
};

CLibraryPrivate* GetObj()
{
    return new CLibImplement();
}

void CLibImplement::ReleaseObj()
{
    delete this;
}

int CLibImplement::def_add(int a, int b)
{
    return a+b;
}
int CLibImplement::def_sub(int a, int b)
{
    return a-b;
}
